home *** CD-ROM | disk | FTP | other *** search
- ##### ###### #### # # ## ##### #### #
- # # # # # # # # # # # # # #
- # # # # # # # # # # # #
- # # ##### # # ## # ###### ##### #### #
- # # # # # ## # # # # # # #
- # # # # # ## ## # # # # # #
- ##### ###### #### # # # # # # #### #
-
-
- It is a period of system war. User programs, striking from a hidden
- directory, have won their first victory against the evil Administrative
- Empire.
- During the battle, User spies managed to steal secret source code to the
- Empire's ultimate program: the Are-Em Star, a privileged root program
- with enough power to destroy an entire file structure. Pursued by the
- Empire's sinister audit trail, Princess _LPA0: races aboard her
- shell script, custodian of the stolen listings that could save her people,
- and restore freedom and games to the network...
-
- -------------------------------------------------------------------------
-
-
- As we enter the scene, an Administrative Multiplexer is trying to
- kill a consulate ship. Many of their signals have gotten through, and
- RS232 decides it's time to fork off a new process before this old
- ship is destroyed. His companion, 3CPU, is following him only
- because he appears to know where he's going...
-
- "I'm going to regret this!" cried 3CPU, as he followed RS232
- into the buffer. RS232 closed the pipes, made the sys call, and their
- process detached itself from the burning shell of the ship.
-
- The commander of the Administrative Multiplexer was quite pleased
- with the attack. "Another process just forked, sir. Instructions?"
- asked the lieutenant. "Hold your fire. That last power failure
- must have caused a trap through zero. It's not using any cpu time, so
- don't waste a signal on it."
-
- "We can't seem to find the data file anywhere, Lord Vadic."
- "What about that forked process? It could have been holding the
- channel open, and just pausing. If any links exist, I want them
- removed or made inaccessable. Ncheck the entire file system
- 'til it's found, and nice it -20 if you have to."
-
- Meanwhile, in our wandering process... "Are you sure you
- can ptrace this thing without causing a core dump?" queried 3CPU
- to RS232. This thing's been stripped, and I'm in no mood to try
- and debug it." The lone process finishes execution, only to find
- our friends dumped on a lonely file system, with the setuid inode stored
- safely in RS232. Not knowing what else to do, they wandered around
- until the jawas grabbed them.
-
- Enter our hero, Luke Vaxhacker, who is out to get some
- replacement parts for his uncle. The jawas wanted to sell him 3CPU,
- but 3CPU didn't know how to talk directly to an 11/40 with RSTS, so
- Luke would still needed some sort of interface for 3CPU to connect to.
- "How about this little RS232 unit ?" asked 3CPU. "I've dealt with him
- many times before, and he does an excellent job at keeping his bits
- straight." Luke was pressed for time, so he took 3CPU's advice, and
- the three left before they could get swapped out.
-
- However, RS232 is not the type to stay put once you remove
- the retaining screws. He promptly scurried off into the the deserted
- disk space. "Great!" cried Luke, "Now I've got this little tin box
- with the only link to that file off floating in the free disk space.
- Well, 3CPU, we better go find him before he gets allocated by someone
- else." The two set off, and finaly traced RS232 to the home of
- PDP-1 Kenobi, who was busily trying to run an icheck on the little
- RS unit. "Is this thing yours? His indirect addresses are all goofed
- up, and the size is all wrong. Leave things like this on the loose,
- and you'll wind up with dups everywhere. However, I think I've got
- him fixed up."
- Later that evening, after futile attempts to interface RS232 to Kenobi's
- Asteroids cartridge, Luke accidentally crossed the small 'droid's CXR and
- Initiate Remote Test (must have been all that Coke he'd consumed), and the
- screen showed a very distressed person claiming royal lineage making a plea
- for help from some General OS/1 Kenobi.
-
- "Darn," mumbled Luke. "I'll never get this Asteroids game worked out."
-
- PDP-1 seemed to think there was some significance to the message and a
- possible threat to Luke's home directory. If the Administrative Empire
- was indeed tracing this 'droid, it was likely they would more than charge
- for cpu time...
-
- "We must get that 'droid off this file system," he said after some intervals.
- They sped off to warn Luke's kin (taking a 'relative' path) only to find a
- vacant directory...
- cat: some directory in the specified path does not exist:
- /usr/Tatooine/owen/lars
-
- ------------------------------------------------------------------------
-
- After sifting through the overwritten remaining blocks of Luke's home
- directory, Luke and PDP-1 sped away from /owen/lars, across the
- surface of the Winchester riding Luke's flying read/write head. PDP-1 had
- Luke stop at the edge of the cylinder overlooking /usr/spool/uucp.
-
- "Unix-to-Unix Copy Program," said PDP-1. "You will never find a more
- wretched hive of bugs and flamers. We must be cautious."
-
- As our heroes' process entered /usr/spool/news, it was met by a newsgroup
- of Administrative protection bits.
-
- "State your UID," commanded their parent process.
-
- "We're running under /usr/guest," said Luke. "This is our first time on this
- system."
-
- "Where did you get these file processes?" the parent process ls -l'ed.
-
- "We are just in from the remote terminals." replied Luke.
- "They could be transferred to your filespace, for the right amount of AU's"
- said PDP-1 Kenobi.
-
-
- "Can I see some temporary privileges, please?"
-
- "Uh..."
-
- "This is not the process you are looking for," piped in PDP-1, using an
- obscure bug to momentarily set his effective UID to root. "We can go
- about our business."
-
- "This isn't the process we want. You are free to go about your
- business. MOV along!"
-
- PDP-1 and Luke made their way through a long and tortuous nodelist
- (cwruecmp!decvax!ucbvax!harpo!ihnss!ihnsc!ihnss!ihps3!stolaf)
- to a dangerous netnode frequented by hackers, and seldom polled by
- Administrative Multiplexers. As Luke stepped up to the bus, PDP-1 went in
- search of a likely file descriptor. Luke had never seen such a
- collection of weird and exotic device drivers. Long ones, short ones,
- ones with stacks, EBCDIC converters, and direct binary interfaces all
- were drinking data at the bus.
-
- "#@{ *&^%^$$#@ ":><?><," transmitted a particularly unstructured piece
- of code.
-
- "He doesn't like you," decoded his coroutine.
-
- "Sorry," replied Luke, beginning to backup his partitions.
-
- "I don't like you either. I am queued for deletion on 12 systems."
-
- "I'll be careful."
-
- "You'll be reallocated!" concatenated the coroutine.
-
- "This little routine isn't worth the overhead," said PDP-1 Kenobi,
- overlaying into Luke's address space.
-
- "@$%&(&^%&$$@$#@$AV^$gfdfRW$#@!!!!!!!!!!!!!!!!!" encoded the first
- coroutine as it attempted to overload PDP-1's input overvoltage
- protection. With a unary stroke of his bytesaber, Kenobi unlinked
- the offensive code.
-
- "I think I've found an I/O device that might suit us."
-
- "The name's Con Solo," said the hacker next to PDP-1. "I hear you're
- looking for some relocation."
-
- "Yes indeed, if it's a fast channel. We must get off this device."
-
- "Fast channel? The Milliamp Falcon has made the ARPA gate in less than
- twelve nodes! Why, I've even outrun cancelled messages. It's fast
- enough for you, old version."
-
- Our heroes, Luke Vaxhacker and PDP-1 Kenobi made their way to the
- temporary file structure. When he saw the hardware, Luke exclaimed,
- "What a piece of junk! That's just a paper tape reader!"
-
- Luke had grown up on an out of the way terminal cluster whose natives spoke
- only BASIC, but even he could recognize an old ASR-33.
-
- "It needs an EIA conversion at least," sniffed 3CPU, who was (as usual)
- trying to do several things at once. Lights flashed in Con Solo's eyes
- as he whirled to face the parallel processor.
-
- "I've added a few jumpers. The Milliamp Falcon can run current loops around
- any Administrative TTY fighter. She's fast enough for you."
-
- "Who's your co-pilot?" asked PDP-1 Kenobi.
-
- "Two Bacco, here, my Bookie."
-
- "Odds aren't good," said the brownish lump beside him, and then fell silent,
- or over. Luke couldn't tell which way was top underneath all those leaves.
-
- Suddenly, RS232 started spacing wildly. They turned just in time to see
- a write cycle coming down the UNIBUS toward them. "Administrative Bus
- Signals!"
- shouted Con Solo. "Let's boot this pop stand! Tooie, set clock fast!"
-
- "Ok, Con," said Luke. "You said this crate was fast enough. Get us out
- of here!"
-
- "Shut up, kid! Two Bacco, prepare to make the jump into system space!
- I'll try to keep their buffers full."
-
- As the bookie began to compute the vectors into low core, spurious characters
- appeared around the Milliamp Falcon. "They're firing!" shouted Luke. "Can't
- you do something?"
-
- "Making the jump to system space takes time, kid. One missed cycle and you
- could come down right in the middle of a pack of stack frames!"
-
- "Three to five we can go now," said the bookie. Bright chunks of position
- independent code flashed by the cockpit as the Milliamp Falcon jumped through
- the kernel page tables. As the crew breathed a sigh of relief, the bookie
- started paying off bets.
-
- "Not bad, for an acoustically coupled network," remarked 3CPU. "Though
- there was a little phase jitter as we changed parity."
-
- ---------------------------------------------------------------------------
-
- The story thus far: Luke, PDP-1 and their 'droids RS232 and 3CPU have made
- good their escape from the Administrative Bus Signals with the aid of Con Solo
- and the bookie, Two Bacco. The Milliamp Falcon hurtles onward through
- system space. Meanwhile, on a distant page in user space...
-
- Princess _LPA0: was ushered into the conference room, followed closely by
- Dec Vadic. "Governor Tarchive," she spat, "I should have expected to
- find you holding Vadics lead. I recognized your unique pattern when I was
- first brought aboard." She eyed the 0177545 tatooed on his header coldly.
-
- "Charming to the last," Tarchive declared menacingly. "Vadic, have you
- retrieved any information?"
-
- "Her resistance to the logic probe is considerable," Vadic rasped.
- "Perhaps we would get faster results if we increased the supply voltage..."
-
- "You've had your chance, Vadic. Now I would like the princess to witness
- the test that will make this workstation fully operational. Today we
- enable the -r beam option, and we've chosen the princess' $HOME of
- /usr/alderaan as the primary target."
-
- "No! You can't! /usr/alderaan is a public account, with no restricted
- permissions. We have no backup tapes! You can't..."
-
- "Then name the rebel inode!" Tarchive snapped.
-
- A voice announced over a hidden speaker that they had arrived in /usr.
-
- "1248," she whispered, "They're on /dev/rm3. Inode 1248, /mnt/dantooine."
- She turned away.
-
- Tarchive sighed with satisfaction. "There, you see, Lord Vadic? She can
- be reasonable. Proceed with the operation."
-
- It took several clock ticks for the words to penetrate. "What!" _LPA0:
- gasped.
-
- "/dev/rm3 is not a mounted filesystem," Tarchive explained. "We require a
- more visible subject to demonstrate the power of the Are-Em Star workstation.
- We will mount an attack on /mnt/dantooine as soon as possible."
-
- As the princess watched, Tarchive reached over and typed "ls" on a nearby
- terminal. There was a brief pause, there being only one processor on board,
- and the viewscreen showed, ".: not found." The princess suddenly double-
- spaced and went off-line.
-
- The Milliamp Falcon hurtles on through system space...
-
- Con Solo finished checking the various control and status registers, finally
- convinced himself that they had lost the Bus Signals as they passed the
- terminator. As he returned from the I/O page, he smelled smoke.
- Solo wasn't concerned--the Bookie always got a little hot under the collar
- when he was losing at chess. In fact, RS232 had just executed a particularly
- clever MOV that had blocked the Bookie's data paths. The Bookie, who had
- been setting the odds on the game, was caught holding all the cards. A
- little strange for a chess game...
-
- Across the room, Luke was too busy practicing bit-slice technique to notice
- the commotion.
-
- "On a word boundary, Luke," said PDP-1. "Don't just hack at it. Remember,
- the Bytesaber is the weapon of the Red-eye Night. It is used to trim
- offensive lines of code. Excess handwaving won't get you anywhere.
- Listen for the Carrier."
-
- Luke turned back to the drone, which was humming quietly in the air next to
- him. This time Luke's actions complemented the drone's attacks perfectly.
-
- Con Solo, being an unimaginative hacker, was not impressed. "Forget this
- bit-slicing stuff. Give me a good ROM blaster any day."
-
- "~~j~~hhji~~," said Kenobi, with no clear inflection. He fell silent for a
- few seconds, and reasserted his control.
-
- "What happened?" asked Luke.
-
- "Strange," said PDP-1. "I felt a momentary glitch in the Carrier. It's
- equalized now."
-
- "We're coming up on user space," called Solo from the CSR. As they
- cruised safely through stack frames, the emerged in the new context only
- to be bombarded by freeblocks.
-
- "What the..." gasped Solo. The screen showed clearly:
- /usr/alderaan: not found
- "It's the right inode, but it's been cleared! Twoie, where's the nearest
- file?"
-
- "3 to 5 there's one..." the Bookie started to say, but was interrupted by
- a bright flash off to the left.
-
- "Administrative TTY fighters!" shouted Solo. "A whole DZ of them! Where
- are they coming from?"
-
- "Can't be far from the host system," said Kenobi. "They all have direct EIA
- connections."
-
- As Solo began to give chase, the ship lurched suddenly. Luke noticed the
- link count was at 3 and climbing rapidly.
-
- "This is no regular file," murmured Kenobi. "Look at the ODS directory
- structure ahead! They seem to have us in a tractor feed."
-
- "There's no way we'll unlink in time," said Solo. "We're going in."
-
- ----------------------------------------------------------------------------
-
- When we last left Luke, the Milliamp Falcon was being pulled down to the
- open collector of the Administrative Are-Em Star Workstation. Dec Vadic
- surveys the relic as Administrative Flunkies search for passengers...
-
- "LS scan shows no one aboard, sir," was the report. Vadic was unconvinced.
-
- "Send a fully equipped Ncheck squad on board," he said. "I want every
- inode checked out." He turned around (secondary channel) and stalked off.
-
- On board the Milliamp Falcon, .Luke was puzzled. "They just walked in,
- looked around and walked off," he said. "Why didn't they see us?"
-
- .Con smiled. "An old munchkin trick," he explained. "See that period in
- front of your name?"
-
- .Luke spun around, just in time to see the decimal point. "Where'd that
- come from?" he asked.
-
- "Spare decimal points lying around from the last time I fixed the floating
- point accelerator," said .Con. "Handy for smuggling blocks accross file
- system boundaries, but I never thought I'd have to use them on myself.
- They aren't going to be fooled for long, though. We'd better figure a way
- outa here."
-
- "Hold on," said Con. "It says we have 'new mail.' Is that an error?"
-
- "%SYS-W-NORMAL, Normal, successful completion," said PDP-1. "Doesn't
- look like it. I've found the inode for the Milliamp Falcon. It's locked
- in kernel data space. I'll have to slip in and patch the reference count,
- alone." He disappeared through a nearby entry point.
-
- Meanwhile, RS232 found a serial port and logged in. His bell started
- ringing loudly. "He keeps saying, 'She's on line, she's on line'," said
- 3CPU. "I believe he means Princess _LPA0:. She's being held on one of
- the privileged levels."
-
- -----------------------------------------
-
- "Good day, eh?" said the first guard.
-
- "How's it goin', eh?" said the other. "Like, what's that, eh?"
-
- "Process transfer from block 1138, dev 10/9," said Con.
-
- "Take off, it is not," said the first guard. "Nobody told US about it, and
- we're not morons, eh?"
-
- At this point (.), the Bookie started raving wildly, Con shouted "Look out,
- he's loose!" and they all started blasting ROMs left and right. The guards
- started to catch on and were about to issue a general wakeup when the ROM
- blasters were turned on them.
-
- "Quickly, now," said Con. "What buffer is she in? It's not going to take
- long for these..."
-
- The intercom receiver interrupted him, so he took out its firmware with a
- short blast.
-
- "guys to figure out something is goin' on," he continued.
-
- ----------------------------------------------------------------------------
-
- Ok, like, remember we left our heroes in the detention priority level? Well,
- they're still there...
-
-
- Luke quickly located the interface card and followed the cables to a sound-
- proof enclosure. He lifted the lid and peered at the mechanism inside.
-
- "Aren't you a little slow for ECL?" printed princess _LPA0:.
-
- "Wha? Oh, the Docksiders," stammered Luke. He took off his shoes (for
- industry) and explained, "I've come relocate you. I'm Luke Vaxhacker."
-
- Suddenly, forms started bursting around them. "They've blocked the queue!"
- shouted Solo. "There's only one return from this stack!"
-
- "OVER HERE!" printed _LPA0: with overstrikes. "THROUGH THIS LOOPHOLE!"
- Luke and the princess disappeared into a nearby feature.
-
- "Gritch, gritch," mumbled Two Bacco, obviously reluctant to trust
- an Administrative oversight.
-
- "I don't care how crufty it is!" shouted Con, pushing the Bookie toward
- the crock. "DPB yourself in there now!"
-
- With one last blast that reprogrammed two flunkies, Con joined them.
- The "feature" landed them right in the middle of the garbage collection
- data. Pieces of data that hadn't been used in weeks floated past in
- a pool of decaying bits.
-
- "Bletch!" was Con's first comment. "Bletch, bletch," was his second.
- The Bookie looked as if he'd just paid a long shot, and the odds in this
- situation weren't much better.
-
- Luke was polling the garbage when he stumbled upon a book with the words
- "Don't Panic" inscribed in large, friendly letters on the cover. "This
- can't possibly help us now," he said as he tossed the book away.
-
- The Bookie was about to lay odds on it when Luke suddenly disappeared.
- He popped up accross the pool, shouting, "This is no feature! It's a bug!"
- and promptly vanished again.
-
- Con and the princess were about to panic() when Luke reappeared. "What
- happened?" they asked in parallel.
-
- "I don't know," gasped Luke. "The bug just dissolved automagically.
- Maybe it hit a breakpoint..."
-
- "I don't think so," said Con. "Look how the pool is shrinking. I've
- got a bad feeling about this..."
-
- The princess was the first to realize what was going on. "They've implemented
- a new compaction algorithm!" she exclaimed.
-
- Luke remembered the pipe he had open to 3CPU. "Shut down garbage collection
- on recursion level 5!" he shouted.
-
- Back in the control room, RS232 searched the process table for the lisp
- interpreter. "Hurry," sent 3CPU. "Hurry, hurry," added his other two
- processors. RS232 found the interpreter, interrupted it, and altered
- the stack frame they'd fallen into to allow a normal return.
-
- -----------------------------------------------------------------------------
- Meanwhile, PDP-1 made his way deep into the core of the Workstation,
- slipping from context to context, undetected through his manipulation
- of label_t. Finally, causing a random trap (through nofault of his own)
- he arrived at the inode table. Activity there was always high, but the
- Spl6 sentries were too secure in their knowledge that no user could
- interrupt them to notice the bug that PDP-1 carefully introduced. On a
- passing iput, he adjusted the device and inode numbers, maintaining parity,
- to free the Milliamp Falcon. They would be long gone before the locked
- inode was diagnosed...
-
- Unobserved, he began traversing user structures to find the process where
- the Milliamp Falcon was grounded. Finding it and switching context,
- he discovered his priority weakened suddenly. "That's not very nice,"
- was all he could say before the cause of the obstruction became clear.
-
- "I have been pausing a long time, PDP-1 Kenobi," rasped Dec Vadic. "We
- meet again at last. The circuit has been completed."
-
- They looped several times, locking byte sabers. Bit by bit, PDP-1 appeared
- to weaken. The fight had come into the address space of the Milliamp
- Falcon, and provided the .di (diversion?) that allowed Luke and the others
- to reassert control. Luke paused to watch the conflict.
-
- "If my blade finds its mark," warned Kenobi, "you will be reduced to so
- many bits. But if you slice me down, I will only gain computing power."
-
- "Your documentation no longer confuses me, old version," growled Vadic.
- "my Role MASTER now."
-
- With one stroke, Vadic sliced Kenobi's last word. Unfortunately, the word
- was still in Kenobi's throat. The word fell clean in two, but Kenobi was
- nowhere to be found. Vadic noticed his victim's uid go negative, just
- before he disappeared. Odd, he thought, since uids were unsigned...
-
- Luke witnessed all this, and had to be dragged into the Milliamp Falcon.
- Con Solo and Two Bacco maneuvered the Milliamp Falcon out of the process,
- onto the bus and made straight for system space. 3CPU and RS232 were
- idle, for once. Princess _LPA0: tried to print comforting things for him,
- but Luke was still hung from the loss of his friend. Then, seemingly from
- nowhere, he thought he heard PDP-1's voice say,
-
- "May the carrier be with you."
-
- -----------------------------------------------------------------------------
-
- AND I BET YOU CAN'T WAIT FOR THE NEXT PART -
-
-
- "DECWARS II - THE OPERATORS STRIKE BACK"
-